#pragma once

#include "..\\headers.default.h"
#include "..\\headers.cv.h"

#include "ipfe_base.h"
#include "ipfe_shape_pattern.h"
#include "ipfe_default_ipfc_set.h"
#include "ipfe_image_pyramid.h"

using namespace loirey;

class CFeatureFactory_ImageParse
{
public:
	class CParameters
	{
	public:
		int ImageExtent;
		double TextonSigma;
		string strPN_IFB_Cache;
		CShapePatternList ShapePatternList;
	};
public:
	static CParameters Parameters;

public:
	static CImageFilterBank* GenerateFilterBank_SingleScale();
	static CImageFilterBank* GenerateFilterBank_MultiScale_A();
	static CImageFilterBank* GenerateFilterBank_MultiScale_B();
	static CImagePositionFeatureExtractor* GenerateIPFE(CImageFilterBank* pFixedImageFilterBank);
	static CImagePyramidPositionFeatureExtractor* GenerateIPPFE(CImageFilterBank* pFixedImageFilterBank, int CacheSize);
};

